Skip to content

Intel x64 ASM: Add new assembly for AES#10756

Open
SparkiDev wants to merge 1 commit into
wolfSSL:masterfrom
SparkiDev:aes_asm_ymm_zmm
Open

Intel x64 ASM: Add new assembly for AES#10756
SparkiDev wants to merge 1 commit into
wolfSSL:masterfrom
SparkiDev:aes_asm_ymm_zmm

Conversation

@SparkiDev

Copy link
Copy Markdown
Contributor

Description

Support AES-XTS AVX512/VAES
Support AES-GCM AVX512/VAES
Support AES-ECB/CBC/CTR AVX512/VAES/AVX1/AES-NI.
Remove code from aes_asm.S/aes_asm.asm
Add CPU defines for AVX512 and VAES
Updated ASM files with new defines for AVX512.
Added support for printing out the new CPU Id flags in benchmark. Added new files to Windows projects.
aes.c: Supports ECB/CBC/CTR in assembly. Supports calling AVX512/VAES assembly.

Testing

On an AMD64 that supports AVX512 and then turned off CPU ids to have other implementations run.

@SparkiDev SparkiDev self-assigned this Jun 23, 2026
@SparkiDev

Copy link
Copy Markdown
Contributor Author

Code generated with PR:
https://github.com/wolfSSL/scripts/pull/598

@SparkiDev SparkiDev force-pushed the aes_asm_ymm_zmm branch 8 times, most recently from e9c1b4a to 185f016 Compare June 23, 2026 07:51
@SparkiDev

Copy link
Copy Markdown
Contributor Author

Jenkins: retest this please

FIPS failure

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #10756

Scan targets checked: wolfcrypt-bugs, wolfcrypt-rs-bugs, wolfcrypt-src, wolfssl-bugs, wolfssl-src

Findings: 3
3 finding(s) posted as inline comments (see file-level comments below)

This review was generated automatically by Fenrir. Findings are non-blocking.

Comment thread wolfcrypt/src/aes.c Outdated
Comment thread wolfcrypt/src/aes.c
Comment thread wolfcrypt/src/aes.c Outdated
Support AES-XTS AVX512/VAES
Support AES-GCM AVX512/VAES
Support AES-ECB/CBC/CTR AVX512/VAES/AVX1/AES-NI.
Remove code from aes_asm.S/aes_asm.asm
Add CPU defines for AVX512 and VAES
Updated ASM files with new defines for AVX512.
Added support for printing out the new CPU Id flags in benchmark.
Added new files to Windows projects.
aes.c: Supports ECB/CBC/CTR in assembly. Supports calling AVX512/VAES assembly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants